FLiNTのemitters
- 2008 年 3月 24 日
FLiNTのemittersパッケージの確認。
FLiNTはEmitterを介してパーティクルを発します。
BitmapEmitter
DisplayObjectEmitter
いずれかのEmitterのインスタンスを作ります。
■BitmapEmitter
var emitter:BitmapEmitter = new BitmapEmitter();
■DisplayObjectEmitter
var emitter:DisplayObjectEmitter = new DisplayObjectEmitter();
BitmapEmitterはパーティクルを1枚のビットマップ画面に描き、DisplayObjectEmitterはパーティクルを一つ一つ表示リストに加えるみたい。
本当にEmitterがそのように動作するか確認してみます。
10個のドットパーティクルを生成してそれぞれのEmitterが持つ子の数を数えてみます。
import org.flintparticles.actions.*; import org.flintparticles.counters.*; import org.flintparticles.displayObjects.*; import org.flintparticles.emitters.*; import org.flintparticles.initializers.*; import org.flintparticles.zones.*; var emitter:BitmapEmitter = new BitmapEmitter(); //またはvar emitter:DisplayObjectEmitter = new DisplayObjectEmitter(); addChild(emitter) emitter.setCounter( new Blast(10) ); emitter.addInitializer( new ImageClass(Dot, 1) ); emitter.addInitializer( new Position( new RectangleZone( 10, 10, 90, 90 ) ) ); emitter.start(); debug.text = emitter.numChildren + "\r"; for(var i=0; i<emitter.numChildren; i++ ){ <span style="white-space:pre"> </span>debug.appendText(emitter.getChildAt(i)); } debug.wordWrap = true; debug.width = 190; debug.height = 80; |
と期待通り。
DisplayObjectEmitterとBitmapEmitterは、ビットマップの特性とベクターの特性でよりあっている方を使えばよいのだと思います。